import {reqCategoryList, reqGetBannerList, reqFloorList} from '@/api/index.js'
// home模块的小仓库
const state = {
  // state中数据的默认初始值被瞎写，服务器返回的是对象还是数组
  categoryList: [],
  // 轮播图的数据
  bannerList: [],
  // floor组件的数据
  floorList: []
}
// mution是唯一修改state的地方
const mutations = {
  CATEGORYLIST(state, categoryList) {
    state.categoryList = categoryList
  },
  GETBANNERLIST(state, bannerList) {
    state.bannerList = bannerList
  },
  GETFLOORLIST(state, floorList) {
    state.floorList = floorList
  }
}
// action是用户处理派发action地方的，可以书写异步语句、自己逻辑的地方
const actions = {
  // 通过api里面的接口函数调用，向服务器发请求，获取服务器的数据
  async categoryList({commit}) {
    let  res = await reqCategoryList()
    if(res.code === 200) {
      commit('CATEGORYLIST', res.data)
    }
  },
  // 获取首页轮播图的数据
  async getBannerList({ commit }) {
    let res = await reqGetBannerList()
    if(res.code === 200) {
      commit('GETBANNERLIST', res.data)
    }
  },
  // 获取floor数据
  async getFloorList({commit}) {
    let res = await reqFloorList()
    if(res.code === 200) {
      // 提交mutation
      commit('GETFLOORLIST', res.data)
    }
  }
}
const getters = {}
export default {
  state,
  mutations,
  actions,
  getters
}